/**
 * 不能输入中文
 * @param rule
 * @param value
 * @param callback
 * @returns {Promise<never>|Promise<void>}
 */
export const embarEnterZhcn = (rule, value, callback) => {
    if (value) {
        if (/[\u4E00-\u9FA5]/g.test(value)) {
            return Promise.reject(new Error('只可输入字母、数字。不能输入汉字!'))
        } else {
            return Promise.resolve()
        }
    } else {
        return Promise.resolve()
    }
}

export const numberStart = (rule, value, callback) => {
    if (value) {
        if (/^(0|[1-9][0-9]*)/g.test(value)) {
            return Promise.reject(new Error('不能输入纯数字或以数字开头!'))
        } else {
            return Promise.resolve()
        }
    } else {
        return Promise.resolve()
    }
}

// 英文、数字包括下划线，不能数字开头
export const embarEnterStr = (rule, value, callback) => {
    if (value) {
        if (!(/^[A-Za-z0-9_]+$/g.test(value))) {
            return Promise.reject(new Error('只能输入英文、数字或者下划线!'))
        } else {
            return Promise.resolve()
        }
    } else {
        return Promise.resolve()
    }
}

export const mustEnterNumber = (rule, value, callback) => {
    if (value) {
        if (isNaN(value)) {
            return Promise.reject(new Error('请输入数字'))
        } else if (value < 0) {
            return Promise.reject(new Error('请输入正整数'))
        } else {
            return Promise.resolve()
        }
    } else {
        return Promise.resolve()
    }
}
